name = "zeno"
age = 18  # 全局变量：当前这个文件都能访问的
# 作用(能够用到的)域：当前的这个文件
print(name)
print(age)

# 定义函数
def test():
    print(f"在test函数里面访问{name}和{age}")  # 在函数里面访问全局变量

def test2():
    age = 30  # 局部变量：在函数里面定义的变量(相当于是重新定义一个同名的变量)
    height = 168  # 局部变量
    print(f"在test2函数里面访问{name}、{age}和{height}")  # age = 30
    # age变量：先找函数里面有没有这个变量，再找函数外面有没有这个变量

# 调用函数
test2()
test()
print(age)  # 30? 18? = 18  函数里面相当于定义了一个和全局变量同名的变量，无法修改外部的全局变量
# print(height)  # 函数外部无法访问到局部变量

# 全局(整个文件)和局部(函数里面)
# 如果想在函数里面定义一个变量，但是只能在函数里面使用的(局部变量)
"""
1.全局变量：当前这个文件都能访问的变量
2.局部变量：在函数里面定义的变量
3.全局变量在函数里面和外面都能访问，但是局部变量在函数外面不能访问(当前函数访问，其他函数也无法访问)
"""